Skip to content

refactor(beyond-sota): ADR-155 M2 — host-verifiable §8 closeout (7 de-magic, 9 boundary tests, native-conv honest-null)#1059

Merged
ruvnet merged 4 commits into
mainfrom
feat/v2-beyond-sota-sweep
Jun 14, 2026
Merged

refactor(beyond-sota): ADR-155 M2 — host-verifiable §8 closeout (7 de-magic, 9 boundary tests, native-conv honest-null)#1059
ruvnet merged 4 commits into
mainfrom
feat/v2-beyond-sota-sweep

Conversation

@ruvnet

@ruvnet ruvnet commented Jun 14, 2026

Copy link
Copy Markdown
Owner

Summary

ADR-155 Milestone-2 — host-verifiable closeout of the §8 deferred backlog (the non-tch surface of wifi-densepose-train + wifi-densepose-nn). Same de-magic + boundary-test discipline as ADR-154 M3, with one perf item benched-first to an honest inconclusive and reverted. Zero behavior change, bit-exact proof.

What landed

  • 7 magic constants made explicit (each == prior literal, pinned) — metrics_core.rs, ruview_metrics.rs, subcarrier.rs, eval.rs, domain.rs, virtual_aug.rs, rf_encoder.rs.
  • 9 boundary/characterization tests — visibility-threshold inclusivity, degenerate-extent unscoreable, zero-duration no-divide, single-target interp, domain-gap edge cases, zero-room-scale finiteness.
  • 1 input guard addedrf_encoder::LinearHead::try_new → typed RfHeadError for untrusted/deserialized weights (new() byte-for-byte unchanged). The §3 hardening item, done on the pure-Rust path.
  • 2 doc-only fixesrapid_adapt O(ε)→O(ε²), DeepSets::encode # Panics.

Honest negatives / non-actions

  • native-conv (§4): MEASURED-INCONCLUSIVE → not shipped. Prototyped a bit-identical rewrite of densepose.rs::apply_conv_layer; measured ~35% faster on padding-heavy small-channel maps but ~3% slower on channel-heavy maps, all inside the ±20% host-noise floor. Reverted — no perf change shipped whose benefit isn't robustly positive. Committed bench + native_conv_matches_reference anchor remain as evidence.
  • "~40 findings" was an over-estimate — the real non-tch surface is much smaller (M1/M1b already cleaned most). Reported the true smaller count; skipped not-real findings (ablation.rs, signal_features.rs, mae.rs) rather than manufacturing churn.
  • Deferred-not-dropped (genuinely gated): GraphPose-Fi / ONNX-INT4 / CSI-JEPA (data/model-gated), ONNX read-lock (upstream ort), and the proof.rs/trainer.rs/model.rs tch-gated panic sites (un-compilable on this host).

Validation

  • cargo test --workspace --no-default-featuresexit 0, 0 failed (3293). train 288→303, nn 35→38.
  • python archive/v1/data/proof/verify.pyVERDICT: PASS, hash f8e76f21… unchanged bit-exact (metrics off the signal proof path).

ADR bookkeeping

ADR-155 §8.2 enumerated clearance recorded (de-magicked / boundary-tested / doc-only / skipped / deferred-gated). CHANGELOG [Unreleased].

🤖 Generated with claude-flow

ruvnet added 4 commits June 13, 2026 23:52
…nts + boundary tests

Lift bare numeric literals used as thresholds / guard epsilons in the
non-tch (host-verifiable) train surface into named, documented consts and
pin each set with a *_consts_unchanged_from_literals test. Values are
bit-identical to the prior inline literals — cleanup, no behaviour change.

De-magicked (const + pin test):
- metrics_core.rs: VISIBILITY_THRESHOLD (0.5), MIN_REFERENCE_EXTENT (1e-6),
  OKS_FALLBACK_SIGMA (0.07)
- ruview_metrics.rs: NUM_KEYPOINTS (17), VISIBILITY_THRESHOLD (0.5),
  PCK_THRESHOLD (0.2), MIN_BBOX_DIAG (1e-3), MIN_DURATION_MINUTES (1e-6)
- subcarrier.rs: SPARSE_BASIS_SIGMA (0.15), SPARSE_BASIS_THRESHOLD (1e-4),
  SPARSE_REGULARIZATION_LAMBDA (0.1), SPARSE_COO_PRUNE_EPS (1e-8),
  SPARSE_SOLVER_TOL (1e-5 f64), SPARSE_SOLVER_MAX_ITERS (500)
- eval.rs: MIN_POSITIVE_MPJPE (1e-10)
- domain.rs: LAYER_NORM_EPS (1e-5)
- virtual_aug.rs: BOX_MULLER_U1_FLOOR (1e-10), MIN_ROOM_SCALE (1e-10)

Boundary / characterization tests (pin CURRENT behaviour):
- visibility_threshold_boundary_is_inclusive (>= 0.5 at the edge)
- degenerate_extent_below_floor_is_unscoreable ((0,0,0.0)/0.0, not perfect)
- tracking_zero_duration_does_not_divide_by_zero
- oks_short_array_is_bounded_at_keypoint_count (16 rows, no panic)
- compute_interp_weights_single_target_is_index_zero (target_sc==1)
- sparse_interp_single_target_is_finite
- domain_gap_infinite_when_in_domain_perfect_but_cross_nonzero
- domain_gap_unity_when_everything_perfect
- augment_frame_zero_room_scale_passes_amplitude_finite

Doc-only (no behaviour change):
- rapid_adapt.rs: correct module-doc O(eps) -> O(eps^2) for central differences
- geometry.rs: add # Panics to DeepSets::encode (documents existing assert!)

train --no-default-features: 191 lib (was 176), 303 total (was 288), 0 failed.

Co-Authored-By: claude-flow <ruv@ruv.net>
… de-magic softplus threshold

ADR-155 §3 found rf_encoder.rs has no adversarial checkpoint-deserialization
assert — its assert_eq!s in LinearHead::new are construction-time API contracts
on programmer-supplied vectors. This adds the honest, in-scope improvement the
M2 task allows: a pure-Rust *fallible* constructor so weights from an untrusted /
deserialized checkpoint can be shape-validated without panicking.

- Add RfHeadError (WeightShape / BiasShape / VarWeightShape) + Display + Error.
- Add LinearHead::try_new returning Result<Self, RfHeadError>; on success the
  head is byte-identical to LinearHead::new. new() is unchanged (still asserts;
  now documents # Panics and points to try_new) — no behaviour change for
  existing callers.
- De-magic softplus's bare 20.0 overflow threshold into
  SOFTPLUS_LINEAR_THRESHOLD (value unchanged) + pin test.

Tests: try_new_accepts_valid_and_rejects_each_bad_shape (valid == new forward;
each bad shape → typed error), softplus_threshold_unchanged_from_literal.

nn --no-default-features lib: 37 passed (was 35), 0 failed.

Co-Authored-By: claude-flow <ruv@ruv.net>
…SIVE (no perf change shipped)

The §8 "native-conv naive-loop rewrite" backlog item: DensePoseHead::
apply_conv_layer is a pure-Rust 6-nested-loop conv (benchable on this host, not
tch/ort-gated). Bench-first per the §0 PROOF discipline.

- Add committed criterion bench benches/native_conv_bench.rs measuring forward()
  through the naive conv on representative single-layer configs (--no-default-
  features; no ort download).
- Prototyped a bit-identical range-clamped variant (hoist the per-tap in-bounds
  branch by pre-clamping kh/kw ranges; same ic→kh→kw MAC order ⇒ bit-identical).
  MEASURED before/after on this host: ~35% faster on padding-heavy small-channel
  maps (4.40→2.84 ms) but a ~3% *regression* on channel-heavy maps (11.09→11.48
  ms), all inside a ±20% run-to-run noise floor. Verdict: INCONCLUSIVE — the
  benefit is not robustly positive, so the rewrite is NOT shipped and NOT a
  fabricated speedup. Reverted to the naive loop; honestly deferred (ADR-155 §8).
- Add native_conv_matches_reference: a hand-computed characterization anchor
  (1×1 = scalar MAC; same-padded 3×3 ones = truncated-window sums 9/6/4) pinning
  CURRENT conv behaviour for any future rewrite.

nn --no-default-features lib: 38 passed (was 37), 0 failed. No behaviour change.

Co-Authored-By: claude-flow <ruv@ruv.net>
…nce + CHANGELOG

Replace the §8 bulk "~40 lower-severity findings" line with the real, enumerated
M2 resolution (§8.2): 7 de-magicked (const + pin == prior literal), 9 boundary
tests, 1 input guard (rf_encoder try_new), 2 doc-only, 1 perf bench-first
MEASURED-INCONCLUSIVE (not shipped). Mark native-conv + rf_encoder RESOLVED;
state which §8 items stay data-gated (GraphPose-Fi/INT4/CSI-JEPA) or tch-gated
(proof/trainer/model panic sites, metrics *_v2 dead code) and ONNX read-lock
upstream-gated — blocked, not dropped. Declare the non-tch-verifiable subset of
§8 cleared.

Validation: train --no-default-features 303 passed (was 288); nn lib 38 (was 35);
workspace --no-default-features 3,293 passed, 0 failed; Python proof VERDICT PASS,
hash f8e76f21…46f7a UNCHANGED bit-exact.

Co-Authored-By: claude-flow <ruv@ruv.net>
@ruvnet ruvnet merged commit 1d12e88 into main Jun 14, 2026
38 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant